package com.goldcn.util;

import net.sf.json.JSONArray;
import net.sf.json.JSONObject;

import java.util.List;
import java.util.Map;

/**
 * Created by wanglq on 2017/7/21.
 */
public class JsonUtil {

    /**
     * Bean转换为字符串
     * @param o
     * @return
     */
    public static String toJson(Object o) {
        JSONObject jsonObject = JSONObject.fromObject(o);
        return jsonObject.toString();
    }

    /**
     * 列表转换为字符串
     * @param list
     * @return
     */
    public static String toJson(List list) {
        JSONArray jsonArray = JSONArray.fromObject(list);
        return jsonArray.toString();
    }

    /**
     * 数组换为字符串
     * @param arry
     * @return
     */
    public static String toJson(Object[] arry) {
        JSONArray jsonArray = JSONArray.fromObject(arry);
        return jsonArray.toString();
    }

    /**
     * 从json格式的字符串转换为Map对象
     * @param json
     * @return
     */
    public  static <T> Map toMap(T json) {
        return JSONObject.fromObject(json);
    }



    /**
     * 从json格式的字符串转换为某个Bean
     * @param json
     * @param cls
     * @return
     */
    public static Object toBean(String json, Class cls) {
        JSONObject jo = JSONObject.fromObject(json);
        return JSONObject.toBean(jo, cls);
    }

    /**
     * 从json格式的字符串转换为List数组
     * @param json
     * @return
     */
    public static List toList(String json) {
        return JSONArray.fromObject(json);
    }

    /**
     * 从json格式的字符串转换为某类对象的数组
     * @param json
     * @param cls
     * @return
     */
    public static Object toArray(String json, Class cls) {
        JSONArray ja = JSONArray.fromObject(json);
        return JSONArray.toArray(ja, cls);
    }

}
